﻿using ZeroSum.Plugin.Authorization.Datas.Aggregates.MenuAggregate;

namespace ZeroSum.Plugin.Authorization.Datas.Services.Menus;

public interface IMenuBaseDomainService<TMenu> where TMenu : MenuBase
{
    Task<TMenu> AddAsync(TMenu entity, CancellationToken cancellationToken = default);
    Task CheckRoleUpdate(long id);
    Task UpdateAsync(TMenu entity, CancellationToken cancellationToken = default);
    Task DeleteAsync(long id, CancellationToken cancellationToken = default);
    Task<TMenu> GetByIdAsync(long id, CancellationToken cancellationToken = default);
}